home *** CD-ROM | disk | FTP | other *** search
/ VisualFX for ImageFX / VisualFX for Image FX 2.adf / Files / ARexx / 02 / 20.rexx < prev   
Encoding:
OS/2 REXX Batch file  |  1996-02-04  |  5.6 KB  |  288 lines

  1. /*
  2.                           Visual FX Arexx Script
  3.                            Written By J.L. White
  4.                          (C)1997 Merlin's Software
  5. */
  6.  
  7. Options Results
  8. address "IMAGEFX.1"
  9. ScreenToFront
  10. Undo Off
  11. if exists("libs:flyer.library") then do
  12.     TOASTERLIB="ToasterARexx.port"
  13.     call remlib('ToasterARexx.port')
  14.     call remlib('PROJECT_REXX_PORT')
  15.     call addlib('PROJECT_REXX_PORT' , 0)
  16.     call addlib(TOASTERLIB,0)
  17.     end
  18. call Settings()
  19. call open TempFile,"VFXIFX:TempDrawer/"FXNum".txt",R
  20. line = readln(TempFile)
  21. Type = strip(line)
  22. line = readln(TempFile)
  23. BrushName = strip(line)
  24. call close (TempFile)
  25. j=0
  26. TFrames = Frames
  27. if Field = 1 then TFrames = Frames*2
  28. do i = 1 to Frames
  29.     call open TempFile,"RAM:VFXNums",W
  30.     call writeln TempFile,right(i,5,'0')
  31.     call writeln TempFile,right(Frames,5,'0')
  32.     call close TempFile
  33.     f=0
  34.     Redraw Off
  35.     if Padding ~= -1 & i = 1 then call PadIt(1)
  36.     call LoadB()
  37.     call LoadA()
  38.     j = j+ 1
  39.     call DoIt()
  40.     Redraw On
  41.     call SaveIt()
  42.         if Field = 1 then do
  43.             Redraw Off
  44.             call LoadB()
  45.             call LoadA()
  46.             j = j + 1
  47.             call DoIt()
  48.             Redraw On
  49.             call SaveIt()
  50.             end 
  51.     if Padding ~= -1 & i = Frames then call PadIt(2)
  52.     end
  53.     KillBrush
  54.     if SaveType = 0 then do
  55.         if Padding = -1 then
  56.             call MakeIcon(SaveName,(Frames-10))
  57.         else
  58.             call MakeIcon(SaveName,(Padding+(Frames-10)))
  59.         end
  60.     Undo On
  61. exit
  62.  
  63.  
  64. PadIt:
  65. arg PadNum
  66.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  67.         Undo On
  68.         exit
  69.         end
  70.          if PadNum = 1 then do
  71.        if IAType = 0 then do
  72.         do Pad = Padding to 1 by -1
  73.             LoadBuffer PicAName Force StartA-(Pad-1)
  74.             call Switcher(TOSW)
  75.             call Switcher(MDV1)
  76.             Render Go
  77.                 call RecordAdd(SaveName,2,6,Compression)
  78.             end
  79.         end
  80.        if IAType = 1 then do
  81.         LoadBuffer PicAName Force 1
  82.         call Switcher(TOSW)
  83.         call Switcher(MDV1)
  84.         Render Go
  85.             call RecordAdd(SaveName,2*Padding,6,Compression)
  86.         end
  87.        if IAType = 2 then do
  88.         LoadBuffer PicAName Force
  89.         call Switcher(TOSW)
  90.         call Switcher(MDV1)
  91.         Render Go
  92.             call RecordAdd(SaveName,2*Padding,6,Compression)
  93.         end
  94.        if IAType = 3 then do
  95.         do Pad = Padding to 1 by -1
  96.             LoadBuffer PicAName""right(StartA-(Pad-1),3,'0') Force
  97.             call Switcher(TOSW)
  98.             call Switcher(MDV1)
  99.             Render Go
  100.                 call RecordAdd(SaveName,2,6,Compression)
  101.             end
  102.         end
  103.     end 
  104.     else do
  105.        if IBType = 0 then do
  106.         do Pad = 1 to Padding
  107.             LoadBuffer PicBName Force StartB+Pad+Frames
  108.             call Switcher(TOSW)
  109.             call Switcher(MDV1)
  110.             Render Go
  111.                 call RecordAdd(SaveName,2,6,Compression)
  112.             end
  113.         end
  114.        if IBType = 1 then do
  115.         LoadBuffer PicBName Force 1
  116.         call Switcher(TOSW)
  117.         call Switcher(MDV1)
  118.         Render Go
  119.             call RecordAdd(SaveName,2*Padding,6,Compression)
  120.         end
  121.        if IBType = 2 then do
  122.         LoadBuffer PicBName Force
  123.         call Switcher(TOSW)
  124.         call Switcher(MDV1)
  125.         Render Go
  126.             call RecordAdd(SaveName,2*Padding,6,Compression)
  127.         end
  128.        if IBType = 3 then do
  129.         do Pad = 1 to Padding
  130.             LoadBuffer PicBName""right(StartB+Pad+Frames),3,'0') Force
  131.             call Switcher(TOSW)
  132.             call Switcher(MDV1)
  133.             Render Go
  134.                 call RecordAdd(SaveName,2,6,Compression)
  135.             end
  136.         end
  137.     end
  138. return
  139.  
  140. LoadA:
  141.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  142.         Undo On
  143.         exit
  144.         end
  145.     if j = TFrames then return
  146.     if IAType = 0 then do
  147.         LoadBuffer PicAName Force i+StartA
  148.         end
  149.     if IAType = 1 then do
  150.         LoadBuffer PicAName Force 1
  151.         end
  152.     if IAType = 2 then do
  153.         LoadBuffer PicAName Force
  154.         end
  155.     if IAType = 3 then do
  156.         LoadBuffer PicAName""right(i+StartA,3,'0') Force
  157.         end
  158. return
  159.  
  160. LoadB:
  161.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  162.         Undo On
  163.         exit
  164.         end
  165.     if j = 1 then return
  166.     if IBType = 0 then do
  167.         LoadBuffer PicBName Force i+StartB
  168.         end
  169.     if IBType = 1 then do
  170.         LoadBuffer PicBName Force 1
  171.         end
  172.     if IBType = 2 then do
  173.         LoadBuffer PicBName Force
  174.         end
  175.     if IBType = 3 then do
  176.         LoadBuffer PicBName""right(i+StartB,3,'0') Force
  177.         end
  178.  
  179.     Swap
  180. return
  181.  
  182.  
  183. DoIt:
  184.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  185.         Undo On
  186.         exit
  187.         end
  188.     if j = TFrames then do
  189.         Swap
  190.         KillBrush
  191.              ActiveColor 16
  192.              Pen 0 1
  193.              Box 0 0 Width Height
  194.              ActiveColor Color
  195.         return
  196.         end
  197.     if j = 1 then do
  198.         GetMain
  199.         parse var result Name Width Height Blah
  200.              ActiveColor 16
  201.              Pen 0 1
  202.              Box 0 0 Width Height
  203.              ActiveColor 1
  204.         return
  205.         end
  206.  
  207.         LoadBrush BrushName
  208.     GetBrush
  209.     parse var result Name BWidth BHeight Blah
  210.     BrushHandle BWidth%2 0
  211.     NewWidth = Width + BWidth
  212.  
  213.     Num = (((j-1) * NewWidth)/(TFrames-1))-(BWidth%2)
  214.     if Type = 1 then do
  215.         Num = NewWidth - (((j-1) * NewWidth)/(TFrames-1))-(BWidth%2)
  216.         Num = trunc(Num)
  217.         end
  218.     Num = trunc(Num)
  219.  
  220.  
  221.     DrawMode Normal
  222.     DrawStyle RubThrough
  223.     NewNum = Num
  224.     if Type = 1 then do
  225.         if NewNum < 0 then NewNum = 0
  226.         FilledBox NewNum 0 Width Height
  227.         end
  228.     else do
  229.         if NewNum > Width then NewNum = Width
  230.         FilledBox 0 0 NewNum Height
  231.         end
  232.     DrawStyle Normal
  233.  
  234.     EdgeMode FeatherIn 1
  235.     DrawMode Darken
  236.     Point Num+10 0
  237.     DrawMode Normal
  238.     Point Num 0
  239.   
  240.     KillBrush
  241.     EdgeMode Normal 0
  242.          ActiveColor 16
  243.          Pen 0 1
  244.          Box 0 0 Width Height
  245.          ActiveColor 1
  246.     KillBrush
  247. return
  248.  
  249. SaveIt:
  250.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  251.         Undo On
  252.         exit
  253.         end
  254.     if SaveType = 0 then do
  255.         call Switcher(TOSW)
  256.         call Switcher(MDV1)
  257.         Render Go
  258.         if Field = 1 then
  259.                 call RecordAdd(SaveName,1,6,Compression)
  260.         else
  261.                 call RecordAdd(SaveName,2,6,Compression)
  262.         end
  263.  
  264.     if SaveType = 1 then do
  265.         if Field = 1 then do
  266.             f= f + 1
  267.             if f = 1 then
  268.                 SaveBufferAs ILBM "VFXIFX:TempDrawer/PicA"
  269.             if f = 2 then do
  270.                 GetMain
  271.                 parse var result Name Width Height Blah
  272.                 Scale Width Height/2
  273.                 Swap
  274.                 LoadBuffer "VFXIFX:TempDrawer/PicA" Force
  275.                 Scale Width Height/2
  276.                 Hook Interlace
  277.                 SaveBufferAs ILBM SaveName""right(i,3,'0')
  278.                 f = 0
  279.                 end
  280.             end
  281.         else do
  282.             SaveBufferAs ILBM SaveName""right(i,3,'0')
  283.             end    
  284.         end
  285. return
  286.  
  287.  
  288.